The Data Over Cable Service Interface Specification (“DOCSIS”) specifies certain methods and procedures for characterizing a communication channel according to various attributes. For example, a 32-bit type-length value (“TLV”) may be received in a configuration file at a cable modem (“CM”) during the ranging and registering process with a cable modem termination system (“CMTS”), which communicates with the CM over a hybrid fiber coaxial (“HFC”) network. At the CMTS, one or more attribute masks may be stored in a database. Each upstream and downstream communication channel that the CMTS may manage between it and multiple CMs is associated with one or more attribute masks, which are also typically 32-bit integers.
One or more particular bit positions in a channel attribute mask typically correspond to a particular attribute of the channel. For example, the value in the most significant bit in the 32-bit mask may represent whether the channel can bond together with other channels as a single service flow, as described in more detail below. Values in the next two most significant bits may represent whether the channel is a high availability channel and whether the channel is a low latency channel or not. A typical bit assignment is shown in FIG. 1, where bit 0 signifies that a channel can be part of a bonded service, and if the integer value represented by the drawing in FIG. 1 represents a group of channels, bit 0 would signify that the resources over which the service flow will be transmitted is a bonded group of channels. Bit 1 represents that a channel, or bonded group of channels has low latency characteristics used for high quality of service, typically for voice traffic, or other traffic that needs minimum guaranteed bandwidth. Presently, according to DOCSIS, bits 3-15 are reserved for future attributes and bits 16-31, may be used by a user or a cable company operator, which may also be referred to as a multiple services operator (“MSO”).
The 32-bit channel attribute mask integers are typically stored at a first database at the CMTS. When the CMTS receives a service flow request from a CM, the CMTS compares a TLV integer received in the service flow request with the attribute masks of all of the available channels it manages. The CMTS assigns the requesting CM to one of the channels that is characterized by the attribute mask, or masks, that represent the attributes that are also represented in the TLV included in the service flow request.
As briefly referred to above, the DOCSIS version 3.0 and (“MULPIv3”), including higher versions (“DOCSIS 3.x+) specification introduced the concept of user-defined attributes. According to MULPIv3, some of these attributes are defined by the standards specification and some are defined by the individual MSO. Attributes are applied, either automatically or through operator provisioning, to each logical upstream or downstream channel of a cable modem termination system (“CMTS”) as well as to each set of channels which form a “bonding group.” Once attributes are assigned to each resource, a resource being a given channel or group of channels, subsequent service requests can specify attributes which are either desired or not desired with respect to a requested resource.
MULPIv3.0 specifies that the entire set of attributes are reflected within the bits of a single 32-bit unsigned integer value as shown in FIG. 1. MULPIv3.0 defines attributes which the CMTS is expected to manage for bits 0 thru 2 and reserves bits 3-15 for future standards use. Bits 16 thru 31 are open to definition by an individual MSO. One might expect that the attribute encoding schema would probably be different for different MSOs.
While MULPIv3.0 defines the operations to be performed on these attribute masks, it does not specify any support for defining or manipulating individual attributes within the attribute masks themselves. The text of MULPIv3.0 and OSSIv3.0 treat attribute bit masks as unsigned integers—an encoding which is very difficult for a human to work with because of the difficulty in remembering which pattern of 32 ones and zeros represents which attribute, or combination of attributes—especially when the high-order bits are set. Thus, there is a need in the art for a human-friendly method and system for defining the attributes of a channel attribute mask. Further, there is a need in the art for a human-friendly method and system for selecting which attribute masks will define a given channel, or group of channels.